/*============================================================================*/
/*                   CONTINENTAL AUTOMOTIVE SYSTEMS                           */
/*============================================================================*/
/*                        OBJECT SPECIFICATION                                */
/*============================================================================*
* name:            MAL_Timer.h
* version:         1.0
* created_by:      Alejandro Ruiz
* date_created:    June 24 2013
*=============================================================================*/
/* DESCRIPTION : Header file for abstraction layer for LED                    */
/*============================================================================*/
/* FUNCTION COMMENT : Header file abstraction layer for LED                   */
/*                                                                            */
/*============================================================================*/
/*                               OBJECT HISTORY                               */
/*============================================================================*/
/*  REVISION |   DATE      |                               |      AUTHOR      */
/*----------------------------------------------------------------------------*/
/*  1.0      | 24/jun/2013 |                               | Alejandro Ruiz   */
/* Initial version for the Ale Window project using Freescale Bolero micro.   */
/*============================================================================*/

#ifndef HAL_TIMER_H                                /* To avoid double inclusion */
#define HAL_TIMER_H

/* Register definitions for selected microcontroller */
#include "MCU_derivative.h"

/*-- Defines -----------------------------------------------------------------*/

#define TIME_10MS		0x0009C4	/*9C4=2500, COMPARE VALUE FOR THE CHANNEL; 4uS*2500=10mS.*/
#define TIME_400MS		0x0186A0	/*186A0=100000, COMPARE VALUE FOR THE CHANNEL; 4uS*100000=400mS.*/
#define TIME_500MS		0x01E848	/*01E848=125000, COMPARE VALUE FOR THE CHANNEL; 4uS*125000=500mS.*/
#define TIME_5S         0x1312D0	/*01312D0=1250000, COMPARE VALUE FOR THE CHANNEL; 4uS*1250000=5000mS.*/


/*-- Functions ---------------------------------------------------------------*/

void MAL_Timer10ms_Init_channel(void);
void MAL_Timer400ms_Init_channel(void);
void MAL_Timer500ms_Init_channel(void);
void MAL_Timer5s_Init_channel(void);
void MAL_Timer_Init(void);

T_ULONG MAL_Read10msFLAG (void);
T_ULONG MAL_Read400msFLAG (void);
T_ULONG MAL_Read500msFLAG (void);
T_ULONG MAL_Read5sFLAG (void);


#endif
